perm filename FTP.DCS[UP,DOC]1 blob
sn#014100 filedate 1972-11-26 generic text, type T, neo UTF8
COMMENT ⊗ VALID 00004 PAGES
RECORD PAGE DESCRIPTION
00001 00001
00002 00002 PRELIMINARY DOCUMENT
00005 00003 The following scenario is a record of an actual file transfer.
00008 00004 EXPLANATIONS OF THE FTP COMMANDS:
00013 ENDMK
⊗;
PRELIMINARY DOCUMENT
FTP
The FTP program implements file transfer from/to Stanford AI
Laboratory to/from other sites on the ARPA network. When TALKER
is run, it will ask for a site
name, and initiate connection to that site. This is done in the
same manner as in the TALKER, except that connection is made
to a file transfer protocol server program, rather than a listener-
type telnet.
If/when connection is established, you may type the following
commands:
BYTE 36
TYPE I
MODE S
RETR <local file spec> ← <foreign file spec>
STOR <local file spec> → <foreign file spec>
Note the delimiter in the STOR command is
right arrow (CTRL Y, octal 031) which
appears between <local file spec> and
<foreign file spec>.
USER <user-id for foreign site, if required>
PASS <password for foreign site, if required>
ACCT <account # for foreign site, if required>
RSTR
QUOT <any character string>
QUIT
All commands must be terminated with a <CRLF>.
In general, data transfers may be one of several types, in
one of several modes, and occur in various byte size. Currently,
we implement only 36-bit byte, image type, stream mode transfers.
(Currently, MIT implementation is also restricted to the same.)
This implementation is adequate, and the most efficient, for the
transfer of files to/from other PDP-10's.
These defaults are built into the program; the BYTE, TYPE,
and MODE commands need not be entered unless you want to change them
(unwise at present anyway). This is new. The appropriate default
commands will be sent to the other site before the first transfer.
Semantics of the commands, if needed, will be found on
page 3. Example scenarios are given on page 2.
The following scenario is a record of an actual file transfer.
A file called "FTPU3" was transferred from M.I.T. A.I. to
SAIL. The "FTPU3 >" is an M.I.T. file specification for the
"most recent version of the file called 'FTPU3' ".
Preceding "FTPU3 >" with "PJ;" indicates that the file is
on the disk area at M.I.T. belonging to a programmer whose
"PPN" is "PJ". Thus, "PJ;FTPU3 >" is a file specification
at M.I.T. A.I., just as "FTPU[NET,SYS]" is a file spec. here
at STanford.
In the scenario, which is unedited, any line of text which
is preceded by a three digit number, is a message from the foreign
site [AI] file transfer program. Other lines of text (after the
first three lines) are either commands typed to FTP by the
user, or are comments to the user from the FTP.
SCENARIO:
.R FTP
Site: AI
We got the logger
We got a socket number: 2470
We got receive side open
Connection established
000 MIT-AI FTP-SERVER
050 ANYTHING OTHER THAN IMAGE, 36 BIT BYTE TRANSFERS WILL BRING LESS
050 THAN SATISFACTORY RESULTS. IF YOU HAVE PROBLEMS OR QUESTIONS
050 CONTACT: PITTS JARVIS AT 617-253-6765
(the following three commands are now redundant -- DCS)
BYTE 36
200 36 BIT BYTE AWAY
TYPE I
200 TYPE IMAGE
MODE S
200 MODE STREAM
RETR FTPU[NET,SYS]←PJ;FTPU3 >
OPENING FILE SYSTEM...OPEN..STARTING DATA LINK CONNECTION...
DATA LINK CONNECTED
255 SOCK 1339
250 LOOK OUT! HERE IT COMES.
DATA IN TRANSFER COMPLETE - 2604 WORDS XFERED, (10.0 KBAUD)
252 FINIS
QUIT
Connection broken
EXPLANATIONS OF THE FTP COMMANDS:
BYTE n n is a (decimal) number indicating the byte size
of the network data connection. Data will be sent from
one site to another in bytes of this size.
At the moment, n=36 is the only implemented byte
size here (SAIL), and also at M.I.T. (DM,AI,ML).
TYPE x x is "A","I","L","P", or "E", and specifies the
"representation type" for the data. A means the data
is in (8-bit) Ascii. I is image mode. The other three
are more obsure: "local byte", "print file (ascii)",
and "ebcdic print file."
At the moment, SAIL supports image type only.
MODE x x is "S","B","T", or "H", meaning "stream",
"block", "text", "hasp" respectively.
At the moment, SAIL supports stream mode only.
USER x x is a string which the foreign site will recognize
as a valid user desrciption, user name, or ppn. Not all
sites require a user name.
PASS foo foo is a password. Some sites may restrict
access to those who can supply the magic foo.
ACCT x x is an account number. Some sites may require
this for their billing/accounting purposes.
RETR x←y x is a local file specifier, and y is a foreign
file specifier. The foreign file "y" is copied to the
local file "x". Current settings (or default values) are
used for byte size, data type, and transmission mode.
The "x←" string is eaten locally, and the
"RETR y" part is transmitted to the foreign site.
"RETR" is an abbreviation of "RETRIEVE".
If you haven't typed any MODE, TYPE, or BYTE commands,
the defaults will be sent before the first RETR or STOR.
STOR x→y "STOR" means "store", and this command is the
inverse of the RETR command. A local file is copied
to a foreign site.
RSTR "RSTR" means "restore" -- included to help remedy a
hack in the current FTP, wherein sometimes an attempted transfer
fails, but our end is unaware of it and leaves the connection
open. The RSTR command causes our end to forget everything it
knows about DATA connections to the other end. Any command should
be legal after that.
QUOT x x is any character string, which should be an FTP protocol
command with arguments. The string is sent as is over the FTP
control link (see FTP protocol, NIC 10596 for terms). QUOT was
included to allow you to execute commands which are as yet
unimplemented here, or which are nonstandard, specific to some
serving site. It will be of little use for those commands which
require some special action by the FTP program at this end.
QUIT Terminate connections with the foreign site, and quit.